cmake_minimum_required(VERSION 3.4.1)
project(Dora-SSR)

set(CMAKE_CXX_STANDARD 20)

find_package(SDL2 REQUIRED)
find_package(OpenSSL REQUIRED)

include_directories(
	${SDL2_INCLUDE_DIRS}
	3rdParty/bgfx/include
	3rdParty/bimg/include
	3rdParty/bx/include
	../../Source
	../../Source/3rdParty
	../../Source/3rdParty/Lua
	../../Source/3rdParty/Zip
	../../Source/3rdParty/soloud
	../../Source/3rdParty/lodepng
	../../Source/3rdParty/imgui
	../../Source/3rdParty/implot
	../../Source/3rdParty/font
	../../Source/3rdParty/sqlite
	../../Source/3rdParty/dragonBones
	../../Source/3rdParty/wasm3
	../../Source/3rdParty/asio
	../../Source/3rdParty/Zip/zlib
	../../Source/3rdParty/Effekseer
)

add_library(BGFX-lib STATIC IMPORTED)
set_target_properties(
	BGFX-lib PROPERTIES IMPORTED_LOCATION
	${CMAKE_SOURCE_DIR}/3rdParty/libs/libbgfxRelease.a
)

add_library(BX-lib STATIC IMPORTED)
set_target_properties(
	BX-lib PROPERTIES IMPORTED_LOCATION
	${CMAKE_SOURCE_DIR}/3rdParty/libs/libbxRelease.a
)

add_library(BIMG-lib STATIC IMPORTED)
set_target_properties(
	BIMG-lib PROPERTIES IMPORTED_LOCATION
	${CMAKE_SOURCE_DIR}/3rdParty/libs/libbimgRelease.a
)

add_library(BIMGDE-lib STATIC IMPORTED)
set_target_properties(
	BIMGDE-lib PROPERTIES IMPORTED_LOCATION
	${CMAKE_SOURCE_DIR}/3rdParty/libs/libbimg_decodeRelease.a
)

add_definitions(-DWITH_SDL2 -DBX_CONFIG_DEBUG=0 -Dd_m3HasWASI -DLUA_USE_LINUX)

if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
    add_definitions(-Wno-psabi)
endif()

add_executable(dora-ssr
	../../Source/Platformer/AINode.cpp
	../../Source/Platformer/Define.cpp
	../../Source/Platformer/AI.cpp
	../../Source/Platformer/Data.cpp
	../../Source/Platformer/VisualCache.cpp
	../../Source/Platformer/PlatformCamera.cpp
	../../Source/Platformer/Unit.cpp
	../../Source/Platformer/Face.cpp
	../../Source/Platformer/PlatformWorld.cpp
	../../Source/Platformer/BulletDef.cpp
	../../Source/Platformer/Bullet.cpp
	../../Source/Platformer/UnitAction.cpp
	../../Source/Cache/AtlasCache.cpp
	../../Source/Cache/Cache.cpp
	../../Source/Cache/ClipCache.cpp
	../../Source/Cache/ShaderCache.cpp
	../../Source/Cache/ParticleCache.cpp
	../../Source/Cache/TextureCache.cpp
	../../Source/Cache/SkeletonCache.cpp
	../../Source/Cache/ModelCache.cpp
	../../Source/Cache/DragonBoneCache.cpp
	../../Source/Cache/SoundCache.cpp
	../../Source/Cache/FrameCache.cpp
	../../Source/Cache/SVGCache.cpp
	../../Source/Cache/TMXCache.cpp
	../../Source/Input/Controller.cpp
	../../Source/Input/Keyboard.cpp
	../../Source/Input/TouchDispather.cpp
	../../Source/Entity/Entity.cpp
	../../Source/Basic/Director.cpp
	../../Source/Basic/AutoreleasePool.cpp
	../../Source/Basic/VGRender.cpp
	../../Source/Basic/Camera.cpp
	../../Source/Basic/Object.cpp
	../../Source/Basic/RenderTarget.cpp
	../../Source/Basic/View.cpp
	../../Source/Basic/Scheduler.cpp
	../../Source/Basic/Database.cpp
	../../Source/Basic/Content.cpp
	../../Source/Basic/Application.cpp
	../../Source/Basic/Renderer.cpp
	../../Source/Effect/Effect.cpp
	../../Source/Animation/ModelDef.cpp
	../../Source/Animation/Animation.cpp
	../../Source/Animation/Action.cpp
	../../Source/Lua/LuaFromXml.cpp
	../../Source/Lua/LuaBinding.cpp
	../../Source/Lua/LuaManual.cpp
	../../Source/Lua/LuaCode.cpp
	../../Source/Lua/LuaHandler.cpp
	../../Source/Lua/TealCompiler.cpp
	../../Source/Lua/LuaEngine.cpp
	../../Source/Http/HttpServer.cpp
	../../Source/Wasm/WasmRuntime.cpp
	../../Source/Const/Header.cpp
	../../Source/Common/Utils.cpp
	../../Source/Common/Singleton.cpp
	../../Source/Common/Async.cpp
	../../Source/Common/Debug.cpp
	../../Source/Common/MemoryPool.cpp
	../../Source/Audio/Sound.cpp
	../../Source/Support/Common.cpp
	../../Source/Support/Geometry.cpp
	../../Source/Support/Array.cpp
	../../Source/Support/Value.cpp
	../../Source/Support/Dictionary.cpp
	../../Source/ML/ML.cpp
	../../Source/GUI/ImGuiDora.cpp
	../../Source/GUI/ImGuiBinding.cpp
	../../Source/Shader/Builtin.cpp
	../../Source/Physics/Joint.cpp
	../../Source/Physics/BodyDef.cpp
	../../Source/Physics/JointDef.cpp
	../../Source/Physics/Body.cpp
	../../Source/Physics/Sensor.cpp
	../../Source/Physics/PhysicsWorld.cpp
	../../Source/Physics/DebugDraw.cpp
	../../Source/Node/Particle.cpp
	../../Source/Node/VGNode.cpp
	../../Source/Node/Spine.cpp
	../../Source/Node/Menu.cpp
	../../Source/Node/Sprite.cpp
	../../Source/Node/Grid.cpp
	../../Source/Node/Node.cpp
	../../Source/Node/Label.cpp
	../../Source/Node/ClipNode.cpp
	../../Source/Node/Model.cpp
	../../Source/Node/Playable.cpp
	../../Source/Node/DragonBone.cpp
	../../Source/Node/DrawNode.cpp
	../../Source/Node/AlignNode.cpp
	../../Source/Node/EffekNode.cpp
	../../Source/Node/TileNode.cpp
	../../Source/Event/EventType.cpp
	../../Source/Event/EventQueue.cpp
	../../Source/Event/Listener.cpp
	../../Source/Event/Event.cpp
	../../Source/Lua/ToLua/tolua_event.cpp
	../../Source/Lua/ToLua/tolua_map.cpp
	../../Source/Lua/ToLua/tolua_push.cpp
	../../Source/Lua/ToLua/tolua_fix.cpp
	../../Source/Lua/ToLua/tolua_to.cpp
	../../Source/Lua/ToLua/tolua_is.cpp
	../../Source/Lua/Xml/DoraTag.cpp
	../../Source/Lua/Xml/XmlResolver.cpp
	../../Source/Lua/Yarn/YarnCompiler.cpp
	../../Source/Test/Test.cpp
	../../Source/Test/HelloWorldCpp.cpp
	../../Source/3rdParty/yuescript/yue_compiler.cpp
	../../Source/3rdParty/yuescript/ast.cpp
	../../Source/3rdParty/yuescript/yue_ast.cpp
	../../Source/3rdParty/yuescript/yue_parser.cpp
	../../Source/3rdParty/yuescript/yuescript.cpp
	../../Source/3rdParty/yuescript/parser.cpp
	../../Source/3rdParty/implot/implot.cpp
	../../Source/3rdParty/implot/implot_items.cpp
	../../Source/3rdParty/implot/implot_demo.cpp
	../../Source/3rdParty/silly/Slice.cpp
	../../Source/3rdParty/spine/Attachment.cpp
	../../Source/3rdParty/spine/Skeleton.cpp
	../../Source/3rdParty/spine/TranslateTimeline.cpp
	../../Source/3rdParty/spine/Extension.cpp
	../../Source/3rdParty/spine/Updatable.cpp
	../../Source/3rdParty/spine/Bone.cpp
	../../Source/3rdParty/spine/AtlasAttachmentLoader.cpp
	../../Source/3rdParty/spine/EventTimeline.cpp
	../../Source/3rdParty/spine/PathConstraint.cpp
	../../Source/3rdParty/spine/Log.cpp
	../../Source/3rdParty/spine/VertexAttachment.cpp
	../../Source/3rdParty/spine/TextureLoader.cpp
	../../Source/3rdParty/spine/PhysicsConstraintData.cpp
	../../Source/3rdParty/spine/SkeletonData.cpp
	../../Source/3rdParty/spine/TransformConstraintTimeline.cpp
	../../Source/3rdParty/spine/ConstraintData.cpp
	../../Source/3rdParty/spine/IkConstraint.cpp
	../../Source/3rdParty/spine/CurveTimeline.cpp
	../../Source/3rdParty/spine/AnimationStateData.cpp
	../../Source/3rdParty/spine/InheritTimeline.cpp
	../../Source/3rdParty/spine/BoundingBoxAttachment.cpp
	../../Source/3rdParty/spine/PathAttachment.cpp
	../../Source/3rdParty/spine/MeshAttachment.cpp
	../../Source/3rdParty/spine/TransformConstraint.cpp
	../../Source/3rdParty/spine/Skin.cpp
	../../Source/3rdParty/spine/RTTI.cpp
	../../Source/3rdParty/spine/MathUtil.cpp
	../../Source/3rdParty/spine/SequenceTimeline.cpp
	../../Source/3rdParty/spine/IkConstraintData.cpp
	../../Source/3rdParty/spine/Atlas.cpp
	../../Source/3rdParty/spine/ClippingAttachment.cpp
	../../Source/3rdParty/spine/PathConstraintData.cpp
	../../Source/3rdParty/spine/Timeline.cpp
	../../Source/3rdParty/spine/SkeletonBinary.cpp
	../../Source/3rdParty/spine/ScaleTimeline.cpp
	../../Source/3rdParty/spine/LinkedMesh.cpp
	../../Source/3rdParty/spine/PointAttachment.cpp
	../../Source/3rdParty/spine/Sequence.cpp
	../../Source/3rdParty/spine/RegionAttachment.cpp
	../../Source/3rdParty/spine/DeformTimeline.cpp
	../../Source/3rdParty/spine/Animation.cpp
	../../Source/3rdParty/spine/AttachmentLoader.cpp
	../../Source/3rdParty/spine/PhysicsConstraint.cpp
	../../Source/3rdParty/spine/DrawOrderTimeline.cpp
	../../Source/3rdParty/spine/AttachmentTimeline.cpp
	../../Source/3rdParty/spine/EventData.cpp
	../../Source/3rdParty/spine/PathConstraintSpacingTimeline.cpp
	../../Source/3rdParty/spine/PathConstraintPositionTimeline.cpp
	../../Source/3rdParty/spine/TransformConstraintData.cpp
	../../Source/3rdParty/spine/SkeletonClipping.cpp
	../../Source/3rdParty/spine/Slot.cpp
	../../Source/3rdParty/spine/AnimationState.cpp
	../../Source/3rdParty/spine/SkeletonJson.cpp
	../../Source/3rdParty/spine/BoneData.cpp
	../../Source/3rdParty/spine/IkConstraintTimeline.cpp
	../../Source/3rdParty/spine/SpineObject.cpp
	../../Source/3rdParty/spine/Event.cpp
	../../Source/3rdParty/spine/RotateTimeline.cpp
	../../Source/3rdParty/spine/PathConstraintMixTimeline.cpp
	../../Source/3rdParty/spine/Triangulator.cpp
	../../Source/3rdParty/spine/PhysicsConstraintTimeline.cpp
	../../Source/3rdParty/spine/Json.cpp
	../../Source/3rdParty/spine/SkeletonBounds.cpp
	../../Source/3rdParty/spine/SlotData.cpp
	../../Source/3rdParty/spine/ShearTimeline.cpp
	../../Source/3rdParty/spine/ColorTimeline.cpp
	../../Source/3rdParty/fmt/os.cpp
	../../Source/3rdParty/fmt/format.cpp
	../../Source/3rdParty/imgui/imgui_widgets.cpp
	../../Source/3rdParty/imgui/imgui.cpp
	../../Source/3rdParty/imgui/imgui_tables.cpp
	../../Source/3rdParty/imgui/imgui_demo.cpp
	../../Source/3rdParty/imgui/imgui_draw.cpp
	../../Source/3rdParty/Other/atlas.cpp
	../../Source/3rdParty/Other/utf8.cpp
	../../Source/3rdParty/sqlite/sqlite3.c
	../../Source/3rdParty/stb/stb.cpp
	../../Source/3rdParty/Lua/lauxlib.c
	../../Source/3rdParty/Lua/liolib.c
	../../Source/3rdParty/Lua/lopcodes.c
	../../Source/3rdParty/Lua/lstate.c
	../../Source/3rdParty/Lua/lobject.c
	../../Source/3rdParty/Lua/lmathlib.c
	../../Source/3rdParty/Lua/loadlib.c
	../../Source/3rdParty/Lua/lvm.c
	../../Source/3rdParty/Lua/lfunc.c
	../../Source/3rdParty/Lua/lstrlib.c
	../../Source/3rdParty/Lua/linit.c
	../../Source/3rdParty/Lua/lstring.c
	../../Source/3rdParty/Lua/lundump.c
	../../Source/3rdParty/Lua/lctype.c
	../../Source/3rdParty/Lua/ltable.c
	../../Source/3rdParty/Lua/ldump.c
	../../Source/3rdParty/Lua/loslib.c
	../../Source/3rdParty/Lua/lgc.c
	../../Source/3rdParty/Lua/lzio.c
	../../Source/3rdParty/Lua/ldblib.c
	../../Source/3rdParty/Lua/lutf8lib.c
	../../Source/3rdParty/Lua/lmem.c
	../../Source/3rdParty/Lua/lcorolib.c
	../../Source/3rdParty/Lua/lcode.c
	../../Source/3rdParty/Lua/ltablib.c
	../../Source/3rdParty/Lua/lapi.c
	../../Source/3rdParty/Lua/lbaselib.c
	../../Source/3rdParty/Lua/ldebug.c
	../../Source/3rdParty/Lua/lparser.c
	../../Source/3rdParty/Lua/llex.c
	../../Source/3rdParty/Lua/ltm.c
	../../Source/3rdParty/Lua/ldo.c
	../../Source/3rdParty/colib/ljson.c
	../../Source/3rdParty/wasm3/m3_compile.c
	../../Source/3rdParty/wasm3/m3_api_libc.c
	../../Source/3rdParty/wasm3/m3_env.c
	../../Source/3rdParty/wasm3/m3_exec.c
	../../Source/3rdParty/wasm3/m3_bind.c
	../../Source/3rdParty/wasm3/m3_info.c
	../../Source/3rdParty/wasm3/m3_parse.c
	../../Source/3rdParty/wasm3/m3_module.c
	../../Source/3rdParty/wasm3/m3_api_tracer.c
	../../Source/3rdParty/wasm3/m3_core.c
	../../Source/3rdParty/wasm3/m3_api_wasi.c
	../../Source/3rdParty/wasm3/m3_code.c
	../../Source/3rdParty/wasm3/m3_function.c
	../../Source/3rdParty/wasm3/m3_api_meta_wasi.c
	../../Source/3rdParty/wasm3/m3_api_uvwasi.c
	../../Source/3rdParty/ml/DecisionTree.cpp
	../../Source/3rdParty/tinyxml2/tinyxml2.cpp
	../../Source/3rdParty/tinyxml2/SAXParser.cpp
	../../Source/3rdParty/lodepng/lodepng.cpp
	../../Source/3rdParty/font/font_manager.cpp
	../../Source/3rdParty/nanovg/nanovg.cpp
	../../Source/3rdParty/nanovg/nanovg_bgfx.cpp
	../../Source/3rdParty/dragonBones/core/BaseObject.cpp
	../../Source/3rdParty/dragonBones/core/DragonBones.cpp
	../../Source/3rdParty/dragonBones/armature/Bone.cpp
	../../Source/3rdParty/dragonBones/armature/DeformVertices.cpp
	../../Source/3rdParty/dragonBones/armature/Constraint.cpp
	../../Source/3rdParty/dragonBones/armature/Armature.cpp
	../../Source/3rdParty/dragonBones/armature/Slot.cpp
	../../Source/3rdParty/dragonBones/armature/TransformObject.cpp
	../../Source/3rdParty/dragonBones/animation/WorldClock.cpp
	../../Source/3rdParty/dragonBones/animation/TimelineState.cpp
	../../Source/3rdParty/dragonBones/animation/BaseTimelineState.cpp
	../../Source/3rdParty/dragonBones/animation/Animation.cpp
	../../Source/3rdParty/dragonBones/animation/AnimationState.cpp
	../../Source/3rdParty/dragonBones/parser/BinaryDataParser.cpp
	../../Source/3rdParty/dragonBones/parser/JSONDataParser.cpp
	../../Source/3rdParty/dragonBones/parser/DataParser.cpp
	../../Source/3rdParty/dragonBones/geom/Transform.cpp
	../../Source/3rdParty/dragonBones/geom/Point.cpp
	../../Source/3rdParty/dragonBones/model/DragonBonesData.cpp
	../../Source/3rdParty/dragonBones/model/BoundingBoxData.cpp
	../../Source/3rdParty/dragonBones/model/DisplayData.cpp
	../../Source/3rdParty/dragonBones/model/ConstraintData.cpp
	../../Source/3rdParty/dragonBones/model/AnimationConfig.cpp
	../../Source/3rdParty/dragonBones/model/SkinData.cpp
	../../Source/3rdParty/dragonBones/model/AnimationData.cpp
	../../Source/3rdParty/dragonBones/model/CanvasData.cpp
	../../Source/3rdParty/dragonBones/model/ArmatureData.cpp
	../../Source/3rdParty/dragonBones/model/UserData.cpp
	../../Source/3rdParty/dragonBones/model/TextureAtlasData.cpp
	../../Source/3rdParty/dragonBones/event/EventObject.cpp
	../../Source/3rdParty/dragonBones/factory/BaseFactory.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Column.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Savepoint.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Exception.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Statement.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Database.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Backup.cpp
	../../Source/3rdParty/sqlite/SQLiteCpp/Transaction.cpp
	../../Source/3rdParty/Zip/miniz.c
	../../Source/3rdParty/Zip/ZipUtils.cpp
	../../Source/3rdParty/soloud/core/soloud_core_filterops.cpp
	../../Source/3rdParty/soloud/core/soloud_fft_lut.cpp
	../../Source/3rdParty/soloud/core/soloud_core_voicegroup.cpp
	../../Source/3rdParty/soloud/core/soloud_bus.cpp
	../../Source/3rdParty/soloud/core/soloud_fader.cpp
	../../Source/3rdParty/soloud/core/soloud_file.cpp
	../../Source/3rdParty/soloud/core/soloud.cpp
	../../Source/3rdParty/soloud/core/soloud_audiosource.cpp
	../../Source/3rdParty/soloud/core/soloud_fft.cpp
	../../Source/3rdParty/soloud/core/soloud_core_setters.cpp
	../../Source/3rdParty/soloud/core/soloud_core_voiceops.cpp
	../../Source/3rdParty/soloud/core/soloud_filter.cpp
	../../Source/3rdParty/soloud/core/soloud_queue.cpp
	../../Source/3rdParty/soloud/core/soloud_core_faderops.cpp
	../../Source/3rdParty/soloud/core/soloud_core_basicops.cpp
	../../Source/3rdParty/soloud/core/soloud_thread.cpp
	../../Source/3rdParty/soloud/core/soloud_core_getters.cpp
	../../Source/3rdParty/soloud/core/soloud_core_3d.cpp
	../../Source/3rdParty/soloud/core/soloud_misc.cpp
	../../Source/3rdParty/soloud/filter/soloud_eqfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_bassboostfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_duckfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_echofilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_fftfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_robotizefilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_dcremovalfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_lofifilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_flangerfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_freeverbfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_biquadresonantfilter.cpp
	../../Source/3rdParty/soloud/filter/soloud_waveshaperfilter.cpp
	../../Source/3rdParty/soloud/backend/sdl/soloud_sdl2.cpp
	../../Source/3rdParty/soloud/backend/sdl/soloud_sdl2_dll.c
	../../Source/3rdParty/soloud/audiosource/vic/soloud_vic.cpp
	../../Source/3rdParty/soloud/audiosource/wav/stb_vorbis.c
	../../Source/3rdParty/soloud/audiosource/wav/soloud_wavstream.cpp
	../../Source/3rdParty/soloud/audiosource/wav/dr_impl.cpp
	../../Source/3rdParty/soloud/audiosource/wav/soloud_wav.cpp
	../../Source/3rdParty/soloud/audiosource/ay/sndchip.cpp
	../../Source/3rdParty/soloud/audiosource/ay/chipplayer.cpp
	../../Source/3rdParty/soloud/audiosource/ay/sndbuffer.cpp
	../../Source/3rdParty/soloud/audiosource/ay/soloud_ay.cpp
	../../Source/3rdParty/soloud/audiosource/ay/sndrender.cpp
	../../Source/3rdParty/soloud/audiosource/sfxr/soloud_sfxr.cpp
	../../Source/3rdParty/soloud/audiosource/speech/tts.cpp
	../../Source/3rdParty/soloud/audiosource/speech/resonator.cpp
	../../Source/3rdParty/soloud/audiosource/speech/klatt.cpp
	../../Source/3rdParty/soloud/audiosource/speech/darray.cpp
	../../Source/3rdParty/soloud/audiosource/speech/soloud_speech.cpp
	../../Source/3rdParty/soloud/audiosource/tedsid/ted.cpp
	../../Source/3rdParty/soloud/audiosource/tedsid/soloud_tedsid.cpp
	../../Source/3rdParty/soloud/audiosource/tedsid/sid.cpp
	../../Source/3rdParty/soloud/audiosource/noise/soloud_noise.cpp
	../../Source/3rdParty/soloud/audiosource/monotone/soloud_monotone.cpp
	../../Source/3rdParty/soloud/audiosource/vizsn/soloud_vizsn.cpp
	../../Source/3rdParty/soloud/audiosource/openmpt/soloud_openmpt_dll.c
	../../Source/3rdParty/soloud/audiosource/openmpt/soloud_openmpt.cpp
	../../Source/3rdParty/playrho/StepStats.cpp
	../../Source/3rdParty/playrho/MovementConf.cpp
	../../Source/3rdParty/playrho/BlockAllocator.cpp
	../../Source/3rdParty/playrho/Version.cpp
	../../Source/3rdParty/playrho/LimitState.cpp
	../../Source/3rdParty/playrho/Math.cpp
	../../Source/3rdParty/playrho/ConstraintSolverConf.cpp
	../../Source/3rdParty/playrho/DynamicMemory.cpp
	../../Source/3rdParty/playrho/Island.cpp
	../../Source/3rdParty/playrho/Contact.cpp
	../../Source/3rdParty/playrho/ToiOutput.cpp
	../../Source/3rdParty/playrho/StepConf.cpp
	../../Source/3rdParty/playrho/StackAllocator.cpp
	../../Source/3rdParty/playrho/ToiConf.cpp
	../../Source/3rdParty/playrho/pmr/PoolMemoryResource.cpp
	../../Source/3rdParty/playrho/pmr/StatsResource.cpp
	../../Source/3rdParty/playrho/pmr/MemoryResource.cpp
	../../Source/3rdParty/playrho/d2/RayCastOutput.cpp
	../../Source/3rdParty/playrho/d2/EdgeShapeConf.cpp
	../../Source/3rdParty/playrho/d2/Manifold.cpp
	../../Source/3rdParty/playrho/d2/MotorJointConf.cpp
	../../Source/3rdParty/playrho/d2/Simplex.cpp
	../../Source/3rdParty/playrho/d2/Joint.cpp
	../../Source/3rdParty/playrho/d2/MultiShapeConf.cpp
	../../Source/3rdParty/playrho/d2/WorldJoint.cpp
	../../Source/3rdParty/playrho/d2/FrictionJointConf.cpp
	../../Source/3rdParty/playrho/d2/TargetJointConf.cpp
	../../Source/3rdParty/playrho/d2/SeparationScenario.cpp
	../../Source/3rdParty/playrho/d2/JointConf.cpp
	../../Source/3rdParty/playrho/d2/Sweep.cpp
	../../Source/3rdParty/playrho/d2/Math.cpp
	../../Source/3rdParty/playrho/d2/UnitVec.cpp
	../../Source/3rdParty/playrho/d2/BodyConf.cpp
	../../Source/3rdParty/playrho/d2/DiskShapeConf.cpp
	../../Source/3rdParty/playrho/d2/AABB.cpp
	../../Source/3rdParty/playrho/d2/ContactImpulsesList.cpp
	../../Source/3rdParty/playrho/d2/DynamicTree.cpp
	../../Source/3rdParty/playrho/d2/DistanceProxy.cpp
	../../Source/3rdParty/playrho/d2/RopeJointConf.cpp
	../../Source/3rdParty/playrho/d2/WorldContact.cpp
	../../Source/3rdParty/playrho/d2/WorldBody.cpp
	../../Source/3rdParty/playrho/d2/TimeOfImpact.cpp
	../../Source/3rdParty/playrho/d2/GearJointConf.cpp
	../../Source/3rdParty/playrho/d2/AabbTreeWorld.cpp
	../../Source/3rdParty/playrho/d2/Body.cpp
	../../Source/3rdParty/playrho/d2/WheelJointConf.cpp
	../../Source/3rdParty/playrho/d2/WeldJointConf.cpp
	../../Source/3rdParty/playrho/d2/WorldShape.cpp
	../../Source/3rdParty/playrho/d2/ContactSolver.cpp
	../../Source/3rdParty/playrho/d2/Shape.cpp
	../../Source/3rdParty/playrho/d2/PolygonShapeConf.cpp
	../../Source/3rdParty/playrho/d2/PulleyJointConf.cpp
	../../Source/3rdParty/playrho/d2/WorldManifold.cpp
	../../Source/3rdParty/playrho/d2/PositionSolverManifold.cpp
	../../Source/3rdParty/playrho/d2/ConvexHull.cpp
	../../Source/3rdParty/playrho/d2/Velocity.cpp
	../../Source/3rdParty/playrho/d2/Distance.cpp
	../../Source/3rdParty/playrho/d2/ChainShapeConf.cpp
	../../Source/3rdParty/playrho/d2/RevoluteJointConf.cpp
	../../Source/3rdParty/playrho/d2/PrismaticJointConf.cpp
	../../Source/3rdParty/playrho/d2/WorldMisc.cpp
	../../Source/3rdParty/playrho/d2/CodeDumper.cpp
	../../Source/3rdParty/playrho/d2/VelocityConstraint.cpp
	../../Source/3rdParty/playrho/d2/DistanceJointConf.cpp
	../../Source/3rdParty/playrho/d2/World.cpp
	../../Source/3rdParty/playrho/d2/MassData.cpp
	../../Source/3rdParty/playrho/d2/ShapeSeparation.cpp
	../../Source/3rdParty/playrho/d2/DistanceConf.cpp
	../../Source/3rdParty/playrho/d2/PointStates.cpp
	../../Source/3rdParty/playrho/d2/part/Compositor.cpp
	../../Source/3rdParty/Zip/zlib/inflate.c
	../../Source/3rdParty/Zip/zlib/compress.c
	../../Source/3rdParty/Zip/zlib/deflate.c
	../../Source/3rdParty/Zip/zlib/gzread.c
	../../Source/3rdParty/Zip/zlib/crc32.c
	../../Source/3rdParty/Zip/zlib/zutil.c
	../../Source/3rdParty/Zip/zlib/gzlib.c
	../../Source/3rdParty/Zip/zlib/inftrees.c
	../../Source/3rdParty/Zip/zlib/uncompr.c
	../../Source/3rdParty/Zip/zlib/gzwrite.c
	../../Source/3rdParty/Zip/zlib/trees.c
	../../Source/3rdParty/Zip/zlib/gzclose.c
	../../Source/3rdParty/Zip/zlib/inffast.c
	../../Source/3rdParty/Zip/zlib/adler32.c
	../../Source/3rdParty/yoga/YGNodeStyle.cpp
	../../Source/3rdParty/yoga/YGPixelGrid.cpp
	../../Source/3rdParty/yoga/YGEnums.cpp
	../../Source/3rdParty/yoga/YGValue.cpp
	../../Source/3rdParty/yoga/YGConfig.cpp
	../../Source/3rdParty/yoga/YGNode.cpp
	../../Source/3rdParty/yoga/YGNodeLayout.cpp
	../../Source/3rdParty/yoga/config/Config.cpp
	../../Source/3rdParty/yoga/algorithm/AbsoluteLayout.cpp
	../../Source/3rdParty/yoga/algorithm/CalculateLayout.cpp
	../../Source/3rdParty/yoga/algorithm/PixelGrid.cpp
	../../Source/3rdParty/yoga/algorithm/Cache.cpp
	../../Source/3rdParty/yoga/algorithm/Baseline.cpp
	../../Source/3rdParty/yoga/algorithm/FlexLine.cpp
	../../Source/3rdParty/yoga/node/LayoutResults.cpp
	../../Source/3rdParty/yoga/node/Node.cpp
	../../Source/3rdParty/yoga/event/event.cpp
	../../Source/3rdParty/yoga/debug/Log.cpp
	../../Source/3rdParty/yoga/debug/AssertFatal.cpp
	../../Source/3rdParty/Effekseer/bgfxrenderer.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.RectF.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.ResourceManager.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.CurveLoader.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.IntrusiveList.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNodeRoot.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Effect.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.WorkerThread.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Manager.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNode.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNodeModel.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNodeTrack.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.FCurves.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNodeRing.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.InternalScript.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.DefaultEffectLoader.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.DefaultFile.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Setting.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.InstanceGlobal.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNodeSprite.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.InstanceGroup.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Resource.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.EffectNodeRibbon.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Instance.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Matrix43.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Matrix44.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.InstanceContainer.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Vector3D.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Color.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Vector2D.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.Random.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Effekseer.InstanceChunk.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.TrackRendererBase.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.RenderStateBase.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/VertexBuffer.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/GraphicsDeviceCPU.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.RibbonRendererBase.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/TextureLoader.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.Renderer.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.DDSTextureLoader.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/ModelLoader.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.ModelRendererBase.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.RingRendererBase.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.TGATextureLoader.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.Renderer_Impl.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.SpriteRendererBase.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.CommonUtils.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.PngTextureLoader.cpp
	../../Source/3rdParty/Effekseer/EffekseerRendererCommon/EffekseerRenderer.GpuParticles.cpp
	../../Source/3rdParty/Effekseer/Effekseer/ForceField/ForceFields.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Network/Effekseer.Server.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Network/Effekseer.Client.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Network/Effekseer.Session.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Network/Effekseer.Socket.cpp
	../../Source/3rdParty/Effekseer/Effekseer/IO/Effekseer.EfkEfcFactory.cpp
	../../Source/3rdParty/Effekseer/Effekseer/SIMD/Utils.cpp
	../../Source/3rdParty/Effekseer/Effekseer/SIMD/Mat44f.cpp
	../../Source/3rdParty/Effekseer/Effekseer/SIMD/Mat43f.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Utils/Effekseer.CustomAllocator.cpp
	../../Source/3rdParty/Effekseer/Effekseer/VectorField/VectorField.cpp
	../../Source/3rdParty/Effekseer/Effekseer/VectorField/VectorFieldLoader.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Noise/CurlNoise.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Model/ModelLoader.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Model/SplineGenerator.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Model/Model.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Model/ProceduralModelGenerator.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Model/PointCacheGenerator.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Parameter/Easing.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Parameter/Effekseer.Parameters.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Parameter/GpuParticlesParameter.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Parameter/Collisions.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Parameter/KillRules.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Parameter/Rotation.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Material/Effekseer.MaterialFile.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Material/Effekseer.MaterialCompiler.cpp
	../../Source/3rdParty/Effekseer/Effekseer/Material/Effekseer.CompiledMaterial.cpp
	../../Source/3rdParty/tmxlite/LayerGroup.cpp
	../../Source/3rdParty/tmxlite/Tileset.cpp
	../../Source/3rdParty/tmxlite/Property.cpp
	../../Source/3rdParty/tmxlite/Object.cpp
	../../Source/3rdParty/tmxlite/ObjectGroup.cpp
	../../Source/3rdParty/tmxlite/FreeFuncs.cpp
	../../Source/3rdParty/tmxlite/ObjectTypes.cpp
	../../Source/3rdParty/tmxlite/TileLayer.cpp
	../../Source/3rdParty/tmxlite/Map.cpp
	../../Source/3rdParty/tmxlite/ImageLayer.cpp
	../../Source/3rdParty/tmxlite/detail/pugixml.cpp
)

target_link_libraries(dora-ssr z dl pthread rt ${SDL2_LIBRARIES} BGFX-lib BIMGDE-lib BIMG-lib BX-lib GL X11 OpenSSL::SSL OpenSSL::Crypto)

